{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Session Connection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from snowflake.snowpark import Session\n",
    "from snowflake.snowpark.functions import col\n",
    "import configparser\n",
    "\n",
    "\n",
    "# In this case I'm loading my credentials as a dictionary\n",
    "snowflake_credentials_file = '../snowflake_creds.config'\n",
    "config = configparser.ConfigParser()\n",
    "config.read(snowflake_credentials_file)\n",
    "connection_parameters = dict(config['default'])\n",
    "\n",
    "session = Session.builder.configs(connection_parameters).create()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data Aggregation \n",
    "\n",
    "* Section covers various aggregation methodology through Snowpark API\n",
    "* Code snippets encompasses both single, multilevel groupby's and sorting mechanisms "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
      "|\"YEAR_BIRTH\"  |\"EDUCATION\"  |\"MARITAL_STATUS\"  |\"INCOME\"  |\"KIDHOME\"  |\"TEENHOME\"  |\"DT_CUSTOMER\"  |\"RECENCY\"  |\"MNTWINES\"  |\"MNTFRUITS\"  |\"MNTMEATPRODUCTS\"  |\"MNTFISHPRODUCTS\"  |\"MNTSWEETPRODUCTS\"  |\"MNTGOLDPRODS\"  |\"NUMDEALSPURCHASES\"  |\"NUMWEBPURCHASES\"  |\"NUMCATALOGPURCHASES\"  |\"NUMSTOREPURCHASES\"  |\"NUMWEBVISITSMONTH\"  |\"ACCEPTEDCMP1\"  |\"ACCEPTEDCMP2\"  |\"ACCEPTEDCMP3\"  |\"ACCEPTEDCMP4\"  |\"ACCEPTEDCMP5\"  |\"RESPONSE\"  |\"ID\"  |\"COMPLAIN\"  |\"Z_COSTCONTACT\"  |\"Z_REVENUE\"  |\n",
      "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
      "|1957          |Graduation   |Single            |58138     |0          |0           |2012-09-04     |58         |635         |88           |546                |172                |88                  |88              |3                    |8                  |10                     |4                    |7                    |0               |0               |0               |0               |0               |1           |5524  |0           |3                |11           |\n",
      "|1954          |Graduation   |Single            |46344     |1          |1           |2014-03-08     |38         |11          |1            |6                  |2                  |1                   |6               |2                    |1                  |1                      |2                    |5                    |0               |0               |0               |0               |0               |0           |2174  |0           |3                |11           |\n",
      "|1965          |Graduation   |Together          |71613     |0          |0           |2013-08-21     |26         |426         |49           |127                |111                |21                  |42              |1                    |8                  |2                      |10                   |4                    |0               |0               |0               |0               |0               |0           |4141  |0           |3                |11           |\n",
      "|1984          |Graduation   |Together          |26646     |1          |0           |2014-02-10     |26         |11          |4            |20                 |10                 |3                   |5               |2                    |2                  |0                      |4                    |6                    |0               |0               |0               |0               |0               |0           |6182  |0           |3                |11           |\n",
      "|1981          |PhD          |Married           |58293     |1          |0           |2014-01-19     |94         |173         |43           |118                |46                 |27                  |15              |5                    |5                  |3                      |6                    |5                    |0               |0               |0               |0               |0               |0           |5324  |0           |3                |11           |\n",
      "|1967          |Master       |Together          |62513     |0          |1           |2013-09-09     |16         |520         |42           |98                 |0                  |42                  |14              |2                    |6                  |4                      |10                   |6                    |0               |0               |0               |0               |0               |0           |7446  |0           |3                |11           |\n",
      "|1971          |Graduation   |Divorced          |55635     |0          |1           |2012-11-13     |34         |235         |65           |164                |50                 |49                  |27              |4                    |7                  |3                      |7                    |6                    |0               |0               |0               |0               |0               |0           |965   |0           |3                |11           |\n",
      "|1985          |PhD          |Married           |33454     |1          |0           |2013-05-08     |32         |76          |10           |56                 |3                  |1                   |23              |2                    |4                  |0                      |4                    |8                    |0               |0               |0               |0               |0               |0           |6177  |0           |3                |11           |\n",
      "|1950          |PhD          |Together          |5648      |1          |1           |2014-03-13     |68         |28          |0            |6                  |1                  |1                   |13              |1                    |1                  |0                      |0                    |20                   |0               |0               |1               |0               |0               |0           |5899  |0           |3                |11           |\n",
      "|1983          |Graduation   |Married           |NULL      |1          |0           |2013-11-15     |11         |5           |5            |6                  |0                  |2                   |1               |1                    |1                  |0                      |2                    |7                    |0               |0               |0               |0               |0               |0           |1994  |0           |3                |11           |\n",
      "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "session.use_database(\"SNOWPARK_DEFINITIVE_GUIDE\")\n",
    "session.use_schema(\"MY_SCHEMA\")\n",
    "\n",
    "marketing_final = session.table(\"MARKETING_FINAL\")\n",
    "marketing_final.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-------------------------------\n",
      "|\"EDUCATION\"  |\"AVG(INCOME)\"  |\n",
      "-------------------------------\n",
      "|Graduation   |52720.373656   |\n",
      "|PhD          |56145.313929   |\n",
      "|Master       |52917.534247   |\n",
      "|Basic        |20306.259259   |\n",
      "|2n Cycle     |47633.190000   |\n",
      "-------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Method 1\n",
    "marketing_final.group_by(\"EDUCATION\").mean(\"INCOME\").show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------\n",
      "|\"EDUCATION\"  |\"AVG_INCOME\"  |\n",
      "------------------------------\n",
      "|Graduation   |52720.373656  |\n",
      "|PhD          |56145.313929  |\n",
      "|Master       |52917.534247  |\n",
      "|Basic        |20306.259259  |\n",
      "|2n Cycle     |47633.190000  |\n",
      "------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "### Using Alias For Calculated Column\n",
    "from snowflake.snowpark.functions import sum, avg, max\n",
    "marketing_final.group_by(\"EDUCATION\").agg(avg(\"INCOME\").alias(\"Avg_Income\")).show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "---------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"SUM(Z_REVENUE)\"  |\n",
      "---------------------------------------\n",
      "|Single            |5280              |\n",
      "|Together          |6380              |\n",
      "|Married           |9504              |\n",
      "|Divorced          |2552              |\n",
      "|Widow             |847               |\n",
      "|Alone             |33                |\n",
      "|Absurd            |22                |\n",
      "|YOLO              |22                |\n",
      "---------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Method 2\n",
    "marketing_final.group_by(\"MARITAL_STATUS\").function(\"sum\")(\"Z_REVENUE\").show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"MAX(INCOME)\"  |\n",
      "------------------------------------\n",
      "|Single            |113734         |\n",
      "|Together          |666666         |\n",
      "|Married           |160803         |\n",
      "|Divorced          |153924         |\n",
      "|Widow             |85620          |\n",
      "|Alone             |61331          |\n",
      "|Absurd            |79244          |\n",
      "|YOLO              |48432          |\n",
      "------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Method 3\n",
    "marketing_final.group_by(\"MARITAL_STATUS\").agg(max(\"INCOME\")).show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------\n",
      "|\"EDUCATION\"  |\"COUNT(LITERAL())\"  |\"MAX(INCOME)\"  |\n",
      "----------------------------------------------------\n",
      "|Graduation   |1127                |666666         |\n",
      "|PhD          |486                 |162397         |\n",
      "|Master       |370                 |157733         |\n",
      "|Basic        |54                  |34445          |\n",
      "|2n Cycle     |203                 |96547          |\n",
      "----------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Count of Category\n",
    "marketing_final.group_by(\"EDUCATION\").agg((col(\"*\"), \"count\"), max(\"INCOME\")).show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------------------------------------------\n",
      "|\"EDUCATION\"  |\"MARITAL_STATUS\"  |\"AVG_INCOME\"  |\"SUM_PURCHASE\"  |\n",
      "------------------------------------------------------------------\n",
      "|Graduation   |Single            |51322.182927  |1426            |\n",
      "|Graduation   |Together          |55758.480702  |1686            |\n",
      "|PhD          |Married           |58138.031579  |1191            |\n",
      "|Master       |Together          |52109.009804  |600             |\n",
      "|Graduation   |Divorced          |54526.042017  |697             |\n",
      "|Graduation   |Married           |50800.258741  |2544            |\n",
      "|2n Cycle     |Single            |53673.944444  |194             |\n",
      "|Master       |Married           |53286.028986  |815             |\n",
      "|Graduation   |Widow             |54976.657143  |206             |\n",
      "|2n Cycle     |Married           |46201.100000  |440             |\n",
      "------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Multi-Level Aggregation \n",
    "marketing_final.group_by([\"EDUCATION\",\"MARITAL_STATUS\"]).agg(\n",
    "    avg(\"INCOME\").alias(\"Avg_Income\"),\n",
    "    sum(\"NUMSTOREPURCHASES\").alias(\"Sum_Purchase\")\n",
    "    ).show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-------------------------------------------------------\n",
      "|\"EDUCATION\"  |\"AVG_INCOME\"  |\"TOTAL_STORE_PURCHASE\"  |\n",
      "-------------------------------------------------------\n",
      "|Graduation   |52720.373656  |6570                    |\n",
      "|PhD          |56145.313929  |2946                    |\n",
      "|Master       |52917.534247  |2182                    |\n",
      "|Basic        |20306.259259  |154                     |\n",
      "|2n Cycle     |47633.190000  |1118                    |\n",
      "-------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "## Multiple metric in Aggregation\n",
    "\n",
    "marketing_final.group_by(\"EDUCATION\").agg(\n",
    "    avg(\"INCOME\").alias(\"Avg_Income\"),\n",
    "    sum(\"NUMSTOREPURCHASES\").alias(\"Total_Store_Purchase\")\n",
    "    ).show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# from snowflake.snowpark import GroupingSets\n",
    "# purchase_history.group_by_grouping_sets(GroupingSets([col(\"EDUCATION\")], [col(\"MARITAL_STATUS\")])).count().show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Sorting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------------------------------------------\n",
      "|\"EDUCATION\"  |\"MARITAL_STATUS\"  |\"AVG_INCOME\"  |\"SUM_PURCHASE\"  |\n",
      "------------------------------------------------------------------\n",
      "|2n Cycle     |Widow             |51392.200000  |37              |\n",
      "|2n Cycle     |Divorced          |49395.130435  |138             |\n",
      "|2n Cycle     |Single            |53673.944444  |194             |\n",
      "|2n Cycle     |Together          |44736.410714  |309             |\n",
      "|2n Cycle     |Married           |46201.100000  |440             |\n",
      "|Basic        |Widow             |22123.000000  |3               |\n",
      "|Basic        |Divorced          |9548.000000   |3               |\n",
      "|Basic        |Together          |21240.071429  |34              |\n",
      "|Basic        |Single            |18238.666667  |49              |\n",
      "|Basic        |Married           |21960.500000  |65              |\n",
      "------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "aggregate_result = marketing_final.group_by([\"EDUCATION\",\"MARITAL_STATUS\"]).agg(\n",
    "    avg(\"INCOME\").alias(\"Avg_Income\"),\n",
    "    sum(\"NUMSTOREPURCHASES\").alias(\"Sum_Purchase\")\n",
    "    )\n",
    "\n",
    "aggregate_result.sort(col(\"EDUCATION\").asc(), col(\"Sum_Purchase\").asc()).show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data Analysis\n",
    "\n",
    "* Sections covers Snowpark API capability to analyse a dataset\n",
    "* Code snippet involves covering Snowpark API capabilities on - \n",
    "    * Data Description\n",
    "    * Pivoting & Cross tabs\n",
    "    * Dealing duplicate & missing values\n",
    "    * Correlation & Covariance\n",
    "* Also covers converting to pandas dataframe and corresponding capabilities"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Data Description"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
      "|\"SUMMARY\"  |\"YEAR_BIRTH\"        |\"EDUCATION\"  |\"MARITAL_STATUS\"  |\"INCOME\"            |\"KIDHOME\"           |\"TEENHOME\"          |\"RECENCY\"           |\"MNTWINES\"         |\"MNTFRUITS\"       |\"MNTMEATPRODUCTS\"   |\"MNTFISHPRODUCTS\"  |\"MNTSWEETPRODUCTS\"  |\"MNTGOLDPRODS\"     |\"NUMDEALSPURCHASES\"  |\"NUMWEBPURCHASES\"   |\"NUMCATALOGPURCHASES\"  |\"NUMSTOREPURCHASES\"  |\"NUMWEBVISITSMONTH\"  |\"ID\"                |\"COMPLAIN\"           |\"Z_COSTCONTACT\"  |\"Z_REVENUE\"  |\n",
      "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
      "|count      |2240.0              |2240         |2240              |2216.0              |2240.0              |2240.0              |2240.0              |2240.0             |2240.0            |2240.0              |2240.0             |2240.0              |2240.0             |2240.0               |2240.0              |2240.0                 |2240.0               |2240.0               |2240.0              |2240.0               |2240.0           |2240.0       |\n",
      "|mean       |1968.805804         |NULL         |NULL              |52247.251354        |0.444196            |0.50625             |49.109375           |303.935714         |26.302232         |166.95              |37.525446          |27.062946           |44.021875          |2.325                |4.084821            |2.662054               |5.790179             |5.316518             |5592.159821         |0.009375             |3.0              |11.0         |\n",
      "|stddev     |11.984069467422158  |NULL         |NULL              |25173.076660901403  |0.5383985512610523  |0.5445383365751212  |28.962452813945163  |336.5973926057657  |39.7734337592318  |225.71537251148845  |54.62897940653843  |41.28049848293986   |52.16743891547677  |1.9322375630341109   |2.7787140910860186  |2.9231005798637857     |3.2509581664487777   |2.426645009060864    |3246.6621975642925  |0.09638983348880732  |0.0              |0.0          |\n",
      "|min        |1893.0              |2n Cycle     |Absurd            |1730.0              |0.0                 |0.0                 |0.0                 |0.0                |0.0               |0.0                 |0.0                |0.0                 |0.0                |0.0                  |0.0                 |0.0                    |0.0                  |0.0                  |0.0                 |0.0                  |3.0              |11.0         |\n",
      "|max        |1996.0              |PhD          |YOLO              |666666.0            |2.0                 |2.0                 |99.0                |1493.0             |199.0             |1725.0              |259.0              |263.0               |362.0              |15.0                 |27.0                |28.0                   |13.0                 |20.0                 |11191.0             |1.0                  |3.0              |11.0         |\n",
      "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "marketing_final.describe().show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Distinct Rows"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2240"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "marketing_final.distinct().count()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Pivoting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"'Graduation'\"  |\"'PhD'\"   |\"'Master'\"  |\"'Basic'\"  |\"'2n Cycle'\"  |\n",
      "----------------------------------------------------------------------------------------\n",
      "|Single            |12625257        |5118203   |4014792     |328296     |1932262       |\n",
      "|Together          |15891167        |6500805   |5315119     |297361     |2505239       |\n",
      "|Married           |21793311        |11046226  |7353472     |439210     |3696088       |\n",
      "|Divorced          |6488599         |2761024   |1862282     |9548       |1136088       |\n",
      "|Widow             |1924183         |1446914   |642417      |22123      |256961        |\n",
      "|Alone             |34176           |35860     |61331       |NULL       |NULL          |\n",
      "|Absurd            |79244           |NULL      |65487       |NULL       |NULL          |\n",
      "|YOLO              |NULL            |96864     |NULL        |NULL       |NULL          |\n",
      "----------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "market_subset = marketing_final.select(\"EDUCATION\",\"MARITAL_STATUS\",\"INCOME\")\n",
    "market_pivot = market_subset.pivot(\"EDUCATION\",[\"Graduation\",\"PhD\",\"Master\",\"Basic\",\"2n Cycle\"]).sum(\"INCOME\")\n",
    "market_pivot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Drop Duplicates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2240"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "marketing_final.drop_duplicates().count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------\n",
      "|\"EDUCATION\"  |\"MARITAL_STATUS\"  |\n",
      "----------------------------------\n",
      "|Graduation   |Single            |\n",
      "|Graduation   |Together          |\n",
      "|PhD          |Married           |\n",
      "|Master       |Together          |\n",
      "|Graduation   |Divorced          |\n",
      "|Graduation   |Married           |\n",
      "|Basic        |Married           |\n",
      "|2n Cycle     |Single            |\n",
      "|Master       |Married           |\n",
      "|Master       |Single            |\n",
      "----------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "marketing_final.select([\"Education\",\"Marital_Status\"]).drop_duplicates().show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Crosstab"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------------------------------------------------------------------------------------------------\n",
      "|\"EDUCATION\"  |\"'Single'\"  |\"'Together'\"  |\"'Married'\"  |\"'Divorced'\"  |\"'Widow'\"  |\"'Alone'\"  |\"'Absurd'\"  |\"'YOLO'\"  |\n",
      "------------------------------------------------------------------------------------------------------------------------\n",
      "|Graduation   |252         |286           |433          |119           |35         |1          |1           |0         |\n",
      "|PhD          |98          |117           |192          |52            |24         |1          |0           |2         |\n",
      "|Master       |75          |106           |138          |37            |12         |1          |1           |0         |\n",
      "|Basic        |18          |14            |20           |1             |1          |0          |0           |0         |\n",
      "|2n Cycle     |37          |57            |81           |23            |5          |0          |0           |0         |\n",
      "------------------------------------------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "marketing_final.stat.crosstab(col1=\"Education\",col2=\"Marital_Status\").show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Dealing with Missing Values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"'Graduation'\"  |\"'PhD'\"   |\"'Master'\"  |\"'Basic'\"  |\"'2n Cycle'\"  |\n",
      "----------------------------------------------------------------------------------------\n",
      "|Single            |12625257        |5118203   |4014792     |328296     |1932262       |\n",
      "|Together          |15891167        |6500805   |5315119     |297361     |2505239       |\n",
      "|Married           |21793311        |11046226  |7353472     |439210     |3696088       |\n",
      "|Divorced          |6488599         |2761024   |1862282     |9548       |1136088       |\n",
      "|Widow             |1924183         |1446914   |642417      |22123      |256961        |\n",
      "|Alone             |34176           |35860     |61331       |NULL       |NULL          |\n",
      "|Absurd            |79244           |NULL      |65487       |NULL       |NULL          |\n",
      "|YOLO              |NULL            |96864     |NULL        |NULL       |NULL          |\n",
      "----------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "market_pivot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"'Graduation'\"  |\"'PhD'\"   |\"'Master'\"  |\"'Basic'\"  |\"'2n Cycle'\"  |\n",
      "----------------------------------------------------------------------------------------\n",
      "|Single            |12625257        |5118203   |4014792     |328296     |1932262       |\n",
      "|Together          |15891167        |6500805   |5315119     |297361     |2505239       |\n",
      "|Married           |21793311        |11046226  |7353472     |439210     |3696088       |\n",
      "|Divorced          |6488599         |2761024   |1862282     |9548       |1136088       |\n",
      "|Widow             |1924183         |1446914   |642417      |22123      |256961        |\n",
      "|Alone             |34176           |35860     |61331       |NULL       |NULL          |\n",
      "|Absurd            |79244           |NULL      |65487       |NULL       |NULL          |\n",
      "|YOLO              |NULL            |96864     |NULL        |NULL       |NULL          |\n",
      "----------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "market_pivot.dropna(how=\"all\").show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"'Graduation'\"  |\"'PhD'\"   |\"'Master'\"  |\"'Basic'\"  |\"'2n Cycle'\"  |\n",
      "----------------------------------------------------------------------------------------\n",
      "|Single            |12625257        |5118203   |4014792     |328296     |1932262       |\n",
      "|Together          |15891167        |6500805   |5315119     |297361     |2505239       |\n",
      "|Married           |21793311        |11046226  |7353472     |439210     |3696088       |\n",
      "|Divorced          |6488599         |2761024   |1862282     |9548       |1136088       |\n",
      "|Widow             |1924183         |1446914   |642417      |22123      |256961        |\n",
      "----------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "market_pivot.dropna(thresh=5).show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"'Graduation'\"  |\"'PhD'\"   |\"'Master'\"  |\"'Basic'\"  |\"'2n Cycle'\"  |\n",
      "----------------------------------------------------------------------------------------\n",
      "|Single            |12625257        |5118203   |4014792     |328296     |1932262       |\n",
      "|Together          |15891167        |6500805   |5315119     |297361     |2505239       |\n",
      "|Married           |21793311        |11046226  |7353472     |439210     |3696088       |\n",
      "|Divorced          |6488599         |2761024   |1862282     |9548       |1136088       |\n",
      "|Widow             |1924183         |1446914   |642417      |22123      |256961        |\n",
      "|Alone             |34176           |35860     |61331       |NULL       |NULL          |\n",
      "|Absurd            |79244           |NULL      |65487       |NULL       |NULL          |\n",
      "----------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "market_pivot.dropna(subset=\"'Graduation'\").show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Input value type doesn't match the target column data type, this replacement was skipped. Column Name: \"MARITAL_STATUS\", Type: StringType(16777216), Input Value: 0, Type: <class 'int'>\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------------------------------------------------------------------------\n",
      "|\"MARITAL_STATUS\"  |\"'Graduation'\"  |\"'PhD'\"   |\"'Master'\"  |\"'Basic'\"  |\"'2n Cycle'\"  |\n",
      "----------------------------------------------------------------------------------------\n",
      "|Single            |12625257        |5118203   |4014792     |328296     |1932262       |\n",
      "|Together          |15891167        |6500805   |5315119     |297361     |2505239       |\n",
      "|Married           |21793311        |11046226  |7353472     |439210     |3696088       |\n",
      "|Divorced          |6488599         |2761024   |1862282     |9548       |1136088       |\n",
      "|Widow             |1924183         |1446914   |642417      |22123      |256961        |\n",
      "|Alone             |34176           |35860     |61331       |0          |0             |\n",
      "|Absurd            |79244           |0         |65487       |0          |0             |\n",
      "|YOLO              |0               |96864     |0           |0          |0             |\n",
      "----------------------------------------------------------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "market_pivot.fillna(0).show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Correlation Vs Covariance\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5293621402734197"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "marketing_final.stat.corr(\"INCOME\", \"NUMSTOREPURCHASES\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "43318.897447865325"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "marketing_final.stat.cov(\"INCOME\", \"NUMSTOREPURCHASES\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Converting to Pandas Dataframe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>YEAR_BIRTH</th>\n",
       "      <th>EDUCATION</th>\n",
       "      <th>MARITAL_STATUS</th>\n",
       "      <th>INCOME</th>\n",
       "      <th>KIDHOME</th>\n",
       "      <th>TEENHOME</th>\n",
       "      <th>DT_CUSTOMER</th>\n",
       "      <th>RECENCY</th>\n",
       "      <th>MNTWINES</th>\n",
       "      <th>MNTFRUITS</th>\n",
       "      <th>...</th>\n",
       "      <th>ACCEPTEDCMP1</th>\n",
       "      <th>ACCEPTEDCMP2</th>\n",
       "      <th>ACCEPTEDCMP3</th>\n",
       "      <th>ACCEPTEDCMP4</th>\n",
       "      <th>ACCEPTEDCMP5</th>\n",
       "      <th>RESPONSE</th>\n",
       "      <th>ID</th>\n",
       "      <th>COMPLAIN</th>\n",
       "      <th>Z_COSTCONTACT</th>\n",
       "      <th>Z_REVENUE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1957</td>\n",
       "      <td>Graduation</td>\n",
       "      <td>Single</td>\n",
       "      <td>58138.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2012-09-04</td>\n",
       "      <td>58</td>\n",
       "      <td>635</td>\n",
       "      <td>88</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5524</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1954</td>\n",
       "      <td>Graduation</td>\n",
       "      <td>Single</td>\n",
       "      <td>46344.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2014-03-08</td>\n",
       "      <td>38</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2174</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1965</td>\n",
       "      <td>Graduation</td>\n",
       "      <td>Together</td>\n",
       "      <td>71613.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2013-08-21</td>\n",
       "      <td>26</td>\n",
       "      <td>426</td>\n",
       "      <td>49</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4141</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1984</td>\n",
       "      <td>Graduation</td>\n",
       "      <td>Together</td>\n",
       "      <td>26646.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-02-10</td>\n",
       "      <td>26</td>\n",
       "      <td>11</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6182</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1981</td>\n",
       "      <td>PhD</td>\n",
       "      <td>Married</td>\n",
       "      <td>58293.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-01-19</td>\n",
       "      <td>94</td>\n",
       "      <td>173</td>\n",
       "      <td>43</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5324</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 29 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   YEAR_BIRTH   EDUCATION MARITAL_STATUS   INCOME  KIDHOME  TEENHOME  \\\n",
       "0        1957  Graduation         Single  58138.0        0         0   \n",
       "1        1954  Graduation         Single  46344.0        1         1   \n",
       "2        1965  Graduation       Together  71613.0        0         0   \n",
       "3        1984  Graduation       Together  26646.0        1         0   \n",
       "4        1981         PhD        Married  58293.0        1         0   \n",
       "\n",
       "  DT_CUSTOMER  RECENCY  MNTWINES  MNTFRUITS  ...  ACCEPTEDCMP1  ACCEPTEDCMP2  \\\n",
       "0  2012-09-04       58       635         88  ...             0             0   \n",
       "1  2014-03-08       38        11          1  ...             0             0   \n",
       "2  2013-08-21       26       426         49  ...             0             0   \n",
       "3  2014-02-10       26        11          4  ...             0             0   \n",
       "4  2014-01-19       94       173         43  ...             0             0   \n",
       "\n",
       "   ACCEPTEDCMP3  ACCEPTEDCMP4  ACCEPTEDCMP5  RESPONSE    ID  COMPLAIN  \\\n",
       "0             0             0             0         1  5524         0   \n",
       "1             0             0             0         0  2174         0   \n",
       "2             0             0             0         0  4141         0   \n",
       "3             0             0             0         0  6182         0   \n",
       "4             0             0             0         0  5324         0   \n",
       "\n",
       "   Z_COSTCONTACT Z_REVENUE  \n",
       "0              3        11  \n",
       "1              3        11  \n",
       "2              3        11  \n",
       "3              3        11  \n",
       "4              3        11  \n",
       "\n",
       "[5 rows x 29 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# thisloads the snowpark dataframe to an in memory pandas dataframe\n",
    "pandas_df =  marketing_final.to_pandas()\n",
    "pandas_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1748, 29)\n",
      "(492, 29)\n"
     ]
    }
   ],
   "source": [
    "for batch in marketing_final.to_pandas_batches():\n",
    "    print(batch.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Sampling Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1134"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_df = marketing_final.sample(frac=0.50)\n",
    "sample_df.count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "925"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fractions = {\"Graduation\": 0.5, \"PhD\": 0.5,\"Master\":0.3}\n",
    "sample_df = marketing_final.stat.sample_by(col=\"Education\",fractions=fractions)\n",
    "sample_df.count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>INCOME</th>\n",
       "      <th>KIDHOME</th>\n",
       "      <th>RECENCY</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>INCOME</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.428669</td>\n",
       "      <td>-0.003970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>KIDHOME</th>\n",
       "      <td>-0.428669</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.008827</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RECENCY</th>\n",
       "      <td>-0.003970</td>\n",
       "      <td>0.008827</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           INCOME   KIDHOME   RECENCY\n",
       "INCOME   1.000000 -0.428669 -0.003970\n",
       "KIDHOME -0.428669  1.000000  0.008827\n",
       "RECENCY -0.003970  0.008827  1.000000"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pandas_df[[\"INCOME\",\"KIDHOME\",\"RECENCY\"]].corr()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "EDUCATION\n",
       "Graduation    1127\n",
       "PhD            486\n",
       "Master         370\n",
       "2n Cycle       203\n",
       "Basic           54\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "frequency = pandas_df.EDUCATION.value_counts()\n",
    "frequency"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: ylabel='EDUCATION'>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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AQAAoGxwa+nGiIgIrV+/XuHh4YqIiLiurqQX5uGHH9b48eP1/fffS7p0a09SUpLWrl3r7PPAAw+4vGfmzJmqXr260tLS1LhxY2VkZKhevXq65ZZbZLPZFBER4exbvXp1SVJwcLBCQkKc+ydNmqRx48apf//+kqSoqCi98MILGjNmjCZMmODs99BDDxX44+H3pkyZokmTJv25DwAAAACW5taV9b1792rOnDnKzMxUq1at1LJlS73xxhuSrs9lHatXr664uDglJiZq1qxZiouLU7Vq1Vz6HDhwQL1791ZUVJQcDofzqnlGRoakSw+rpqSk6MYbb9Tjjz+uL7/88g+Pu2PHDv3P//yPAgICnNvgwYOVmZmpX3/91dmvKP9qMX78eGVnZzu3I0eOuPEJAAAAwMrc/lKk9u3bq3379po6darmzZunWbNm6eLFixo6dKgeeughde3a1XlF+XowcOBADR8+XJL07rvvFmi/9957FRERoRkzZqhWrVrKz89X48aNdf78eUmX7n0/fPiwvvjiC61atUo9e/ZUp06d9L//+79XPObp06c1adIkde/evUCbn5+f8+dKlSr9Yf12u112u/0P+wEAAOD643ZYv+zy1eDBgwdrz549+uijj/Tss89q6NCh19XKJV26dNH58+dls9nUuXNnl7bjx49r3759mjFjhm699VZJ0vr16wuM4XA41KtXL/Xq1Us9evRQly5ddOLECVWpUkU+Pj66ePGiS/8WLVpo3759io6OLrkTAwAAwHXvT4f132rQoIFeffVVJSQkaMmSJcUxZKmpUKGC9uzZ4/z5typXrqyqVavqgw8+UGhoqDIyMjRu3DiXPq+//rpCQ0PVvHlzeXl5acGCBQoJCVFwcLCkSyvCJCcnq3379rLb7apcubKef/553XPPPQoPD1ePHj3k5eWlHTt2KDU1VS+++GKpnDcAAACsz6171n/88UeNHj260BVHsrOzNX78eLVv377YiistDodDDoejwH4vLy8lJSVp69ataty4sZ544gn9/e9/d+kTGBioV155RbGxsWrVqpXS09O1bNkyeXld+mhfe+01rVy5UmFhYc4lITt37qylS5fqyy+/VKtWrXTzzTfrjTfecHk4FQAAALAZY0xRO18O6h988EGh7UOGDFFQUJBefvnlYisQ7snJyVFQUJDCRs6Xl72ip8sBPCY9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xMREBQYGSpL69u2r5ORkTZ48udBxp0yZ4vI5AAAAoOzw+AOmv7dp0yalpKSoUaNGys3Nde6PjY0t0Pfdd99Vy5YtVb16dQUEBOiDDz5QRkaGJCk7O1uZmZlq06aNs7+3t3eh4/yRVatWqWPHjrrhhhsUGBiovn376vjx4249ALtnzx6FhYU5g7okNWzYUMHBwdqzZ49zX506dZxBXZJCQ0N17NixK447fvx4ZWdnO7cjR464eXYAAACwKo+F9ejoaNlsNu3bt89lf1RUlKKjo+Xv7++y//e3yiQlJWn06NF65JFH9OWXXyolJUUDBgzQ+fPn3arDy8urwH3seXl5zp/T09N1zz33qGnTpvrnP/+prVu36t1335Ukt49VFL9/cNZmsyk/P/+K/e12uxwOh8sGAACAssFjYb1q1aq688479c477+jMmTNuv/+bb75Ru3btNHToUDVv3lzR0dE6ePCgsz0oKEihoaHauHGjc9+FCxe0detWl3GqV6+uzMxM5+ucnBwdPnzY+Xrr1q3Kz8/Xa6+9pptvvln169fXjz/+6DKGr6+vLl68eNV6GzRooCNHjrhc+U5LS9PJkyfVsGFD904eAAAA5YJHb4N57733dOHCBcXGxurTTz/Vnj17tG/fPs2ZM0d79+5VhQoVrvjeevXqacuWLVqxYoX279+v5557Tps3b3bpM2LECCUkJGjRokXau3evhg4dqpMnT7r0ueOOOzR79mx9/fXX2rVrl/r37+9y3OjoaOXl5entt9/WoUOHNHv2bL3//vsuY9SpU0enT59WcnKyfv7550Jvj+nUqZOaNGmiPn36aNu2bdq0aZP69eunDh06/KlbcwAAAFD2eTSs161bV9u3b1enTp00fvx43XTTTYqNjdXbb7+t0aNH64UXXrjie//2t7+pe/fu6tWrl9q0aaPjx49r6NChLn1GjRqlvn37qn///mrbtq0CAwPVrVs3lz7jx49Xhw4ddM899yguLk5du3ZV3bp1ne033XSTXn/9db388stq3LixPvnkE02ZMsVljHbt2mnIkCHq1auXqlevrldeeaVAvTabTYsXL1blypX1l7/8RZ06dVJUVJQ+/fTTP/PRAQAAoBywmd/fsI3rWk5OjoKCghQ2cr687BU9XQ4AAIDlpSfElerxLue17OzsP3ze0HKrwQAAAAC4hLAOAAAAWBRhHQAAALAowjoAAABgUYR1AAAAwKK8PV0ASkbqpM58mykAAMB1jivrAAAAgEUR1gEAAACLIqwDAAAAFkVYBwAAACyKsA4AAABYFGEdAAAAsCjCOgAAAGBRhHUAAADAogjrAAAAgEXxDaZljDFGkpSTk+PhSgAAAFCYyzntcm67GsJ6GXP8+HFJUlhYmIcrAQAAwNWcOnVKQUFBV+1DWC9jqlSpIknKyMj4w8mHZ+Tk5CgsLExHjhyRw+HwdDkoBHNkfcyRtTE/1scceZYxRqdOnVKtWrX+sC9hvYzx8rr0GEJQUBD/8Vmcw+FgjiyOObI+5sjamB/rY448p6gXVXnAFAAAALAowjoAAABgUYT1MsZut2vChAmy2+2eLgVXwBxZH3NkfcyRtTE/1sccXT9spihrxgAAAAAodVxZBwAAACyKsA4AAABYFGEdAAAAsCjCOgAAAGBRhHUAAADAogjrZcy7776rOnXqyM/PT23atNGmTZs8XVK5MGXKFLVq1UqBgYGqUaOGunbtqn379rn0OXfunIYNG6aqVasqICBADzzwgI4ePerSJyMjQ3FxcapYsaJq1Kihp556ShcuXCjNUykXEhISZLPZNHLkSOc+5sfzfvjhBz388MOqWrWq/P391aRJE23ZssXZbozR888/r9DQUPn7+6tTp046cOCAyxgnTpxQnz595HA4FBwcrEceeUSnT58u7VMpky5evKjnnntOkZGR8vf3V926dfXCCy/ot4vKMUel66uvvtK9996rWrVqyWazadGiRS7txTUfO3fu1K233io/Pz+FhYXplVdeKelTw28ZlBlJSUnG19fXzJw50+zevdsMHjzYBAcHm6NHj3q6tDKvc+fOZtasWSY1NdWkpKSYu+++24SHh5vTp087+wwZMsSEhYWZ5ORks2XLFnPzzTebdu3aOdsvXLhgGjdubDp16mS2b99uli1bZqpVq2bGjx/viVMqszZt2mTq1KljmjZtakaMGOHcz/x41okTJ0xERISJj483GzduNIcOHTIrVqww3333nbNPQkKCCQoKMosWLTI7duww9913n4mMjDRnz5519unSpYu56aabzLfffmu+/vprEx0dbXr37u2JUypzJk+ebKpWrWqWLl1qDh8+bBYsWGACAgLMW2+95ezDHJWuZcuWmWeeecZ89tlnRpJZuHChS3txzEd2drap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",
      "text/plain": [
       "<Figure size 800x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "frequency.plot(kind=\"barh\",figsize=(8,3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='INCOME', ylabel='MNTGOLDPRODS'>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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8dGPflTMnz9fDA0NOet88IMfFIcffrh49NFHxW9+8xtxwAEHiE9+8pPO8v7+ftHd3S1WrFghnn76abFx40bR3t4ufvjDHzrrPPLII0LXdXHllVeKZ599VnzjG98QxWJRPPXUU+kURg649NJLxYwZM8Tdd98ttm3bJm677TbR0dEhvv/97zvr0PlIhv/8z/8UX//618Xtt98uAIg77rjDtzxP5d6MLeONCS0C3/nOd4pVq1Y5v03TFHPmzBHr1q3L0KqxzWuvvSYAiAcffFAIIURfX58oFovitttuc9Z57rnnBACxefNmIYTVSGiaJnp7e511rr/+etHZ2SkqlYoQQojzzz9fHHzwwb59feITnxDLli1zftP5tNi9e7dYsGCBuO+++8R73vMeRwTSuUiPr33ta+L444+PXM45Fz09PeK73/2uM6+vr0+Uy2WxceNGIYQQzz77rAAgHn/8cWedX/7yl4IxJv7yl78IIYS47rrrxLRp05xzI/d90EEHOb8//vGPi5NOOsm3/8WLF4vPfe5zozvIMcRJJ50kzjzzTN+8U089VaxYsUIIQecjLYIiME/l3owt45EJ+zq4Wq1iy5YtWLp0qTNP0zQsXboUmzdvztCysU1/fz8AOMm8t2zZglqt5ivnhQsXYt68eU45b968GYceeqgvAOayZcswMDCAZ555xlnHuw25jtwGnU+XVatW4aSTTgqVF52L9PiP//gPHH300fj7v/97zJo1C0ceeSR+/OMfO8u3bduG3t5eXxl1dXVh8eLFvnMxdepUHH300c46S5cuhaZpeOyxx5x13v3ud6NUKjnrLFu2DFu3bsWuXbucdeqdr4nAsccei02bNuH5558HAPzhD3/Aww8/jBNPPBEAnY+syFO5N2PLeGTCisA33ngDpmmGIm93d3ejt7c3I6vGNpxzrF69GscddxwOOeQQAEBvby9KpRKmTp3qW9dbzr29vcrzIJfVW2dgYABDQ0N0Pm1uvfVW/O53v8O6detCy+hcpMdLL72E66+/HgsWLMC9996LL3zhC/jHf/xH3HTTTQDcsqxXRr29vZg1a5ZveaFQwPTp02M5XxPlXADABRdcgNNOOw0LFy5EsVjEkUceidWrV2PFihUA6HxkRZ7KvRlbxiPjIm0ckQ9WrVqFp59+Gg8//HDWpkxItm/fji996Uu477770NbWlrU5ExrOOY4++mhcdtllAIAjjzwSTz/9NG644QasXLkyY+smHj/72c9w880345ZbbsHBBx+MJ598EqtXr8acOXPofBATmgnbEzhz5kzouh7yjNyxYwd6enoysmrscs455+Duu+/G/fffj/3228+Z39PTg2q1ir6+Pt/63nLu6elRnge5rN46nZ2daG9vp/MJ63Xva6+9hqOOOgqFQgGFQgEPPvggrrnmGhQKBXR3d9O5SInZs2fj7W9/u2/eokWL8MorrwBwy7JeGfX09OC1117zLTcMAzt37ozlfE2UcwEAX/3qV53ewEMPPRSf/vSncd555zk95nQ+siFP5d6MLeORCSsCS6US3vGOd2DTpk3OPM45Nm3ahCVLlmRo2dhCCIFzzjkHd9xxB379619j/vz5vuXveMc7UCwWfeW8detWvPLKK045L1myBE899ZTvQr/vvvvQ2dnp3EiXLFni24ZcR26Dzidwwgkn4KmnnsKTTz7pfI4++misWLHCmaZzkQ7HHXdcKFTS888/j/333x8AMH/+fPT09PjKaGBgAI899pjvXPT19WHLli3OOr/+9a/BOcfixYuddR566CHUajVnnfvuuw8HHXQQpk2b5qxT73xNBPbu3QtN89/udF0H5xwAnY+syFO5N2PLuCRrz5QsufXWW0W5XBY33nijePbZZ8XZZ58tpk6d6vOMJOrzhS98QXR1dYkHHnhAvPrqq85n7969zjqf//znxbx588Svf/1r8cQTT4glS5aIJUuWOMtlWJIPfOAD4sknnxT33HOP2GeffZRhSb761a+K5557Tqxfv14ZloTOpx+vd7AQdC7S4re//a0oFAri0ksvFS+88IK4+eabxaRJk8S//du/OetcfvnlYurUqeKuu+4S//M//yNOPvlkZWiMI488Ujz22GPi4YcfFgsWLPCFxujr6xPd3d3i05/+tHj66afFrbfeKiZNmhQKjVEoFMT3vvc98dxzz4lvfvOb4zokiYqVK1eKfffd1wkRc/vtt4uZM2eK888/31mHzkcy7N69W/z+978Xv//97wUA8c///M/i97//vfjzn/8shMhXuTdjy3hjQotAIYS49tprxbx580SpVBLvfOc7xaOPPpq1SWMKAMrPhg0bnHWGhobEF7/4RTFt2jQxadIk8bGPfUy8+uqrvu28/PLL4sQTTxTt7e1i5syZ4stf/rKo1Wq+de6//35xxBFHiFKpJN761rf69iGh8+knKALpXKTHz3/+c3HIIYeIcrksFi5cKH70ox/5lnPOxUUXXSS6u7tFuVwWJ5xwgti6datvnTfffFN88pOfFB0dHaKzs1OcccYZYvfu3b51/vCHP4jjjz9elMtlse+++4rLL788ZMvPfvYzceCBB4pSqSQOPvhg8Ytf/CL+A84xAwMD4ktf+pKYN2+eaGtrE29961vF17/+dV9IETofyXD//fcr7xErV64UQuSr3JuxZbzBhPCETCcIgiAIgiAmBBN2TCBBEARBEMREhkQgQRAEQRDEBIREIEEQBEEQxASERCBBEARBEMQEhEQgQRAEQRDEBIREIEEQBEEQxASERCBBEARBEMQEhEQgQRAEQRDEBIREIEEQBEEQxASERCBBEJlw+umn45RTTnGmGWO4/PLLfevceeedYIz55gkh8KMf/QiLFy9GR0cHpk6diqOPPhpXX3019u7d66y3c+dOrF69Gvvvvz9KpRLmzJmDM888E6+88krIDsYYPv/5z4dsXLVqFRhjOP3000PrBz8f/OAHR1kiBEEQ6UIikCCIXNDW1oYrrrgCu3btqrvepz/9aaxevRonn3wy7r//fjz55JO46KKLcNddd+FXv/oVAEsAvutd78J//dd/4YYbbsCLL76IW2+9FS+++CKOOeYYvPTSS75tzp07F7feeiuGhoacecPDw7jlllswb968kA0f/OAH8eqrr/o+GzdujKEUCIIg0qOQtQEEQRAAsHTpUrz44otYt24drrzySuU6P/vZz3DzzTfjzjvvxMknn+zMf8tb3oKPfvSjGBgYAAB8/etfx1//+le8+OKL6OnpAQDMmzcP9957LxYsWIBVq1bhl7/8pfP3Rx11FP70pz/h9ttvx4oVKwAAt99+O+bNm4f58+eH7CiXy852CYIgxirUE0gQRC7QdR2XXXYZrr32Wvzv//6vcp2bb74ZBx10kE8AShhj6OrqAucct956K1asWBESau3t7fjiF7+Ie++9Fzt37vQtO/PMM7Fhwwbn97/8y7/gjDPOiOHICIIg8gmJQIIgcsPHPvYxHHHEEfjmN7+pXP7CCy/goIMOqruN119/HX19fVi0aJFy+aJFiyCEwIsvvuib/6lPfQoPP/ww/vznP+PPf/4zHnnkEXzqU59SbuPuu+9GR0eH73PZZZc1cYQEQRD5gV4HEwSRK6644gq8733vw1e+8pXQMiFE09tpZV0A2GeffXDSSSfhxhtvhBACJ510EmbOnKlc973vfS+uv/5637zp06e3tD+CIIisIRFIEESuePe7341ly5Zh7dq1Pq9cADjwwAPxxz/+se7f77PPPpg6dSqee+455fLnnnsOjDEccMABoWVnnnkmzjnnHADA+vXrI/cxefJk5d8TBEGMJeh1MEEQuePyyy/Hz3/+c2zevNk3/x/+4R/w/PPP46677gr9jRAC/f390DQNH//4x3HLLbegt7fXt87Q0BCuu+46LFu2TNlz98EPfhDVahW1Wg3Lli2L96AIgiByBolAgiByx6GHHooVK1bgmmuu8c3/+Mc/jk984hP45Cc/icsuuwxPPPEE/vznP+Puu+/G0qVLcf/99wMALrvsMvT09OD9738/fvnLX2L79u146KGHsGzZMtRqtchePl3X8dxzz+HZZ5+FruuR9lUqFfT29vo+b7zxRnwFQBAEkQIkAgmCyCWXXHIJOOe+eYwx3HLLLfjnf/5n3HnnnXjPe96Dww47DN/61rdw8sknO713M2bMwKOPPor3vve9+NznPoe3ve1t+PjHP463ve1tePzxx/HWt741cr+dnZ3o7Oysa9s999yD2bNn+z7HH3/86A+aIAgiRZhodfQ0QRAEQRAEMeahnkCCIAiCIIgJCIlAgiAIgiCICQiJQIIgCIIgiAkIiUCCIAiCIIgJCIlAgiAIgiCICQiJQIIgCIIgiAkIiUCCIAiCIIgJCIlAgiAIgiCICQiJQIIgCIIgiAkIiUCCIAiCIIgJCIlAgiAIgiCICcj/D7R45kfXE9guAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 800x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pandas_df.plot(kind=\"hexbin\",x=\"INCOME\",y=\"MNTGOLDPRODS\",xlim=[0,100000],ylim=[0,100],figsize=(8,3))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.18"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
